package xyz.yq56.easytool.utils.fori;

import java.util.ArrayList;
import java.util.List;
import java.util.function.IntFunction;

/**
 * @author yi qiang
 * @date 2021/12/10 2:02
 */
public class ForUtil {

    private ForUtil() {
    }


    /**
     * 厌倦了写for循环,可以使用这个方法
     * <br> 他会把function结果都添加到list中
     * <br> 与Collectors.toList()不同的是,它可以接收一个i的参数
     */
    public static <R> List<R> forList(int count, IntFunction<R> function) {
        List<R> result = new ArrayList<>();
        for (int i = 0; i < count; i++) {
            result.add(function.apply(i));
        }
        return result;
    }

}
